{
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "# Least Squares Regression"
      ],
      "metadata": {}
    },
    {
      "cell_type": "markdown",
      "source": [
        "https://www.investopedia.com/terms/l/least-squares-method.asp"
      ],
      "metadata": {
        "nteract": {
          "transient": {
            "deleting": false
          }
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "import warnings\n",
        "warnings.filterwarnings(\"ignore\")\n",
        "\n",
        "# yahoo finance is used to fetch data \n",
        "import yfinance as yf\n",
        "yf.pdr_override()"
      ],
      "outputs": [],
      "execution_count": 1,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:06.007Z",
          "iopub.execute_input": "2022-05-22T17:57:06.012Z",
          "shell.execute_reply": "2022-05-22T17:57:06.058Z",
          "iopub.status.idle": "2022-05-22T17:57:06.066Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# input\n",
        "symbol = 'AMD'\n",
        "start = '2007-01-01'\n",
        "end = '2018-12-31'\n",
        "\n",
        "# Read data \n",
        "dataset = yf.download(symbol,start,end)\n",
        "\n",
        "# View Columns\n",
        "dataset.head()"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[*********************100%***********************]  1 of 1 completed\n"
          ]
        },
        {
          "output_type": "execute_result",
          "execution_count": 2,
          "data": {
            "text/plain": "                 Open       High        Low      Close  Adj Close    Volume\nDate                                                                       \n2007-01-03  20.080000  20.400000  19.350000  19.520000  19.520000  28350300\n2007-01-04  19.660000  19.860001  19.320000  19.790001  19.790001  23652500\n2007-01-05  19.540001  19.910000  19.540001  19.709999  19.709999  15902400\n2007-01-08  19.709999  19.860001  19.370001  19.469999  19.469999  15814800\n2007-01-09  19.450001  19.709999  19.370001  19.650000  19.650000  14494200",
            "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Open</th>\n      <th>High</th>\n      <th>Low</th>\n      <th>Close</th>\n      <th>Adj Close</th>\n      <th>Volume</th>\n    </tr>\n    <tr>\n      <th>Date</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2007-01-03</th>\n      <td>20.080000</td>\n      <td>20.400000</td>\n      <td>19.350000</td>\n      <td>19.520000</td>\n      <td>19.520000</td>\n      <td>28350300</td>\n    </tr>\n    <tr>\n      <th>2007-01-04</th>\n      <td>19.660000</td>\n      <td>19.860001</td>\n      <td>19.320000</td>\n      <td>19.790001</td>\n      <td>19.790001</td>\n      <td>23652500</td>\n    </tr>\n    <tr>\n      <th>2007-01-05</th>\n      <td>19.540001</td>\n      <td>19.910000</td>\n      <td>19.540001</td>\n      <td>19.709999</td>\n      <td>19.709999</td>\n      <td>15902400</td>\n    </tr>\n    <tr>\n      <th>2007-01-08</th>\n      <td>19.709999</td>\n      <td>19.860001</td>\n      <td>19.370001</td>\n      <td>19.469999</td>\n      <td>19.469999</td>\n      <td>15814800</td>\n    </tr>\n    <tr>\n      <th>2007-01-09</th>\n      <td>19.450001</td>\n      <td>19.709999</td>\n      <td>19.370001</td>\n      <td>19.650000</td>\n      <td>19.650000</td>\n      <td>14494200</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
          },
          "metadata": {}
        }
      ],
      "execution_count": 2,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:06.076Z",
          "iopub.execute_input": "2022-05-22T17:57:06.082Z",
          "iopub.status.idle": "2022-05-22T17:57:06.784Z",
          "shell.execute_reply": "2022-05-22T17:57:06.824Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "dataset['Open_Close'] = (dataset['Open'] - dataset['Adj Close'])/dataset['Open']\n",
        "dataset['High_Low'] = (dataset['High'] - dataset['Low'])/dataset['Low']\n",
        "dataset['Increase_Decrease'] = np.where(dataset['Volume'].shift(-1) > dataset['Volume'],1,0)\n",
        "dataset['Buy_Sell_on_Open'] = np.where(dataset['Open'].shift(-1) > dataset['Open'],1,0)\n",
        "dataset['Buy_Sell'] = np.where(dataset['Adj Close'].shift(-1) > dataset['Adj Close'],1,0)\n",
        "dataset['Returns'] = dataset['Adj Close'].pct_change()\n",
        "dataset = dataset.dropna()\n",
        "dataset.head()"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 3,
          "data": {
            "text/plain": "                 Open       High        Low      Close  Adj Close    Volume  \\\nDate                                                                          \n2007-01-04  19.660000  19.860001  19.320000  19.790001  19.790001  23652500   \n2007-01-05  19.540001  19.910000  19.540001  19.709999  19.709999  15902400   \n2007-01-08  19.709999  19.860001  19.370001  19.469999  19.469999  15814800   \n2007-01-09  19.450001  19.709999  19.370001  19.650000  19.650000  14494200   \n2007-01-10  19.639999  20.020000  19.500000  20.010000  20.010000  19783200   \n\n            Open_Close  High_Low  Increase_Decrease  Buy_Sell_on_Open  \\\nDate                                                                    \n2007-01-04   -0.006612  0.027950                  0                 0   \n2007-01-05   -0.008700  0.018935                  0                 1   \n2007-01-08    0.012177  0.025297                  0                 0   \n2007-01-09   -0.010283  0.017553                  1                 1   \n2007-01-10   -0.018839  0.026667                  1                 1   \n\n            Buy_Sell   Returns  \nDate                            \n2007-01-04         0  0.013832  \n2007-01-05         0 -0.004043  \n2007-01-08         1 -0.012177  \n2007-01-09         1  0.009245  \n2007-01-10         1  0.018321  ",
            "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>Open</th>\n      <th>High</th>\n      <th>Low</th>\n      <th>Close</th>\n      <th>Adj Close</th>\n      <th>Volume</th>\n      <th>Open_Close</th>\n      <th>High_Low</th>\n      <th>Increase_Decrease</th>\n      <th>Buy_Sell_on_Open</th>\n      <th>Buy_Sell</th>\n      <th>Returns</th>\n    </tr>\n    <tr>\n      <th>Date</th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n      <th></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>2007-01-04</th>\n      <td>19.660000</td>\n      <td>19.860001</td>\n      <td>19.320000</td>\n      <td>19.790001</td>\n      <td>19.790001</td>\n      <td>23652500</td>\n      <td>-0.006612</td>\n      <td>0.027950</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0.013832</td>\n    </tr>\n    <tr>\n      <th>2007-01-05</th>\n      <td>19.540001</td>\n      <td>19.910000</td>\n      <td>19.540001</td>\n      <td>19.709999</td>\n      <td>19.709999</td>\n      <td>15902400</td>\n      <td>-0.008700</td>\n      <td>0.018935</td>\n      <td>0</td>\n      <td>1</td>\n      <td>0</td>\n      <td>-0.004043</td>\n    </tr>\n    <tr>\n      <th>2007-01-08</th>\n      <td>19.709999</td>\n      <td>19.860001</td>\n      <td>19.370001</td>\n      <td>19.469999</td>\n      <td>19.469999</td>\n      <td>15814800</td>\n      <td>0.012177</td>\n      <td>0.025297</td>\n      <td>0</td>\n      <td>0</td>\n      <td>1</td>\n      <td>-0.012177</td>\n    </tr>\n    <tr>\n      <th>2007-01-09</th>\n      <td>19.450001</td>\n      <td>19.709999</td>\n      <td>19.370001</td>\n      <td>19.650000</td>\n      <td>19.650000</td>\n      <td>14494200</td>\n      <td>-0.010283</td>\n      <td>0.017553</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0.009245</td>\n    </tr>\n    <tr>\n      <th>2007-01-10</th>\n      <td>19.639999</td>\n      <td>20.020000</td>\n      <td>19.500000</td>\n      <td>20.010000</td>\n      <td>20.010000</td>\n      <td>19783200</td>\n      <td>-0.018839</td>\n      <td>0.026667</td>\n      <td>1</td>\n      <td>1</td>\n      <td>1</td>\n      <td>0.018321</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
          },
          "metadata": {}
        }
      ],
      "execution_count": 3,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:06.793Z",
          "iopub.execute_input": "2022-05-22T17:57:06.798Z",
          "shell.execute_reply": "2022-05-22T17:57:06.829Z",
          "iopub.status.idle": "2022-05-22T17:57:06.841Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "dataset.shape"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 4,
          "data": {
            "text/plain": "(3018, 12)"
          },
          "metadata": {}
        }
      ],
      "execution_count": 4,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "shell.execute_reply": "2022-05-22T17:57:06.832Z",
          "iopub.status.busy": "2022-05-22T17:57:06.850Z",
          "iopub.execute_input": "2022-05-22T17:57:06.856Z",
          "iopub.status.idle": "2022-05-22T17:57:06.865Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "dataset.info()"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "<class 'pandas.core.frame.DataFrame'>\n",
            "DatetimeIndex: 3018 entries, 2007-01-04 to 2018-12-28\n",
            "Data columns (total 12 columns):\n",
            " #   Column             Non-Null Count  Dtype  \n",
            "---  ------             --------------  -----  \n",
            " 0   Open               3018 non-null   float64\n",
            " 1   High               3018 non-null   float64\n",
            " 2   Low                3018 non-null   float64\n",
            " 3   Close              3018 non-null   float64\n",
            " 4   Adj Close          3018 non-null   float64\n",
            " 5   Volume             3018 non-null   int64  \n",
            " 6   Open_Close         3018 non-null   float64\n",
            " 7   High_Low           3018 non-null   float64\n",
            " 8   Increase_Decrease  3018 non-null   int32  \n",
            " 9   Buy_Sell_on_Open   3018 non-null   int32  \n",
            " 10  Buy_Sell           3018 non-null   int32  \n",
            " 11  Returns            3018 non-null   float64\n",
            "dtypes: float64(8), int32(3), int64(1)\n",
            "memory usage: 271.1 KB\n"
          ]
        }
      ],
      "execution_count": 5,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "shell.execute_reply": "2022-05-22T17:57:06.990Z",
          "iopub.status.busy": "2022-05-22T17:57:06.871Z",
          "iopub.execute_input": "2022-05-22T17:57:06.876Z",
          "iopub.status.idle": "2022-05-22T17:57:06.887Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "x = dataset['Adj Close']\n",
        "y = 1 + x + x * np.random.random(len(x))"
      ],
      "outputs": [],
      "execution_count": 6,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:06.896Z",
          "iopub.execute_input": "2022-05-22T17:57:06.900Z",
          "iopub.status.idle": "2022-05-22T17:57:06.910Z",
          "shell.execute_reply": "2022-05-22T17:57:06.993Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "A = np.vstack([x, np.ones(len(x))]).T\n",
        "\n",
        "y = y[:, np.newaxis]"
      ],
      "outputs": [],
      "execution_count": 7,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:06.917Z",
          "iopub.execute_input": "2022-05-22T17:57:06.923Z",
          "iopub.status.idle": "2022-05-22T17:57:06.931Z",
          "shell.execute_reply": "2022-05-22T17:57:06.996Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "alpha = np.dot((np.dot(np.linalg.inv(np.dot(A.T,A)),A.T)),y)\n",
        "print(alpha)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[[1.5013497 ]\n",
            " [1.01950148]]\n"
          ]
        }
      ],
      "execution_count": 8,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:06.937Z",
          "iopub.execute_input": "2022-05-22T17:57:06.943Z",
          "iopub.status.idle": "2022-05-22T17:57:06.953Z",
          "shell.execute_reply": "2022-05-22T17:57:06.999Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "plt.figure(figsize = (10,8))\n",
        "plt.plot(x, y, 'b.')\n",
        "plt.plot(x, alpha[0]*x + alpha[1], 'r')\n",
        "plt.xlabel('x')\n",
        "plt.ylabel('y')\n",
        "plt.show()"
      ],
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": "<Figure size 720x576 with 1 Axes>",
            "image/png": "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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ],
      "execution_count": 9,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:06.961Z",
          "iopub.execute_input": "2022-05-22T17:57:06.966Z",
          "iopub.status.idle": "2022-05-22T17:57:07.016Z",
          "shell.execute_reply": "2022-05-22T17:57:07.004Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "pinv = np.linalg.pinv(A)\n",
        "alpha = pinv.dot(y)\n",
        "print(alpha)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[[1.5013497 ]\n",
            " [1.01950148]]\n"
          ]
        }
      ],
      "execution_count": 10,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:07.024Z",
          "iopub.execute_input": "2022-05-22T17:57:07.029Z",
          "iopub.status.idle": "2022-05-22T17:57:07.041Z",
          "shell.execute_reply": "2022-05-22T17:57:07.143Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "alpha = np.linalg.lstsq(A, y, rcond=None)[0]\n",
        "print(alpha)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[[1.5013497 ]\n",
            " [1.01950148]]\n"
          ]
        }
      ],
      "execution_count": 11,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:07.049Z",
          "iopub.execute_input": "2022-05-22T17:57:07.054Z",
          "iopub.status.idle": "2022-05-22T17:57:07.065Z",
          "shell.execute_reply": "2022-05-22T17:57:07.148Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Mean X and Y\n",
        "mean_x = np.mean(x)\n",
        "mean_y = np.mean(y)\n",
        " \n",
        "# Total number of values\n",
        "n = len(x)"
      ],
      "outputs": [],
      "execution_count": 12,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false,
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:07.072Z",
          "iopub.execute_input": "2022-05-22T17:57:07.077Z",
          "iopub.status.idle": "2022-05-22T17:57:07.085Z",
          "shell.execute_reply": "2022-05-22T17:57:07.151Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "numer = 0\n",
        "denom = 0\n",
        "for i in range(n):\n",
        "    numer += (x[i] - mean_x) * (y[i] - mean_y)\n",
        "    denom += (x[i] - mean_x) ** 2\n",
        "    m = numer / denom\n",
        "    c = mean_y - (m * mean_x)\n",
        " \n",
        "print(\"Coefficients\")\n",
        "print(m, c)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Coefficients\n",
            "[1.5013497] [1.01950148]\n"
          ]
        }
      ],
      "execution_count": 13,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:07.095Z",
          "iopub.execute_input": "2022-05-22T17:57:07.101Z",
          "iopub.status.idle": "2022-05-22T17:57:07.115Z",
          "shell.execute_reply": "2022-05-22T17:57:07.155Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "max_x = np.max(x) + 100\n",
        "min_x = np.min(x) - 100\n",
        " \n",
        "# Calculating line values x and y\n",
        "X = np.linspace(min_x, max_x, len(x))\n",
        "Y = c + m * x\n",
        " \n",
        "# Ploting Line\n",
        "plt.plot(X, Y, color='green', label='Regression Line')\n",
        "# Ploting Scatter Points\n",
        "plt.scatter(x, y, c='red', label='Scatter Plot')\n",
        " \n",
        "plt.xlabel('Original Stock Price')\n",
        "plt.ylabel('Stock Price')\n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": "<Figure size 432x288 with 1 Axes>",
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEGCAYAAABiq/5QAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABI+klEQVR4nO2dd3hU1daH35WEEKr0JggoRamhigWliteCeBW9VrChon7Yy0Xx6r32goqCooKoEbDgxWtFEMSCSMCASJEiKD2EFlIgZX9/nDmT6Zkk05JZ7/PMM+fs09ZMJuvss/bavyXGGBRFUZT4ISHaBiiKoiiRRR2/oihKnKGOX1EUJc5Qx68oihJnqONXFEWJM5KibUAwNGrUyLRp0ybaZiiKolQqli9fvtcY09izvVI4/jZt2pCenh5tMxRFUSoVIrLVV7uGehRFUeIMdfyKoihxhjp+RVGUOKNSxPgVRQkPBQUFbNu2jfz8/GibolSAlJQUWrZsSbVq1YLaP6yOX0TqAW8AXQADXAusB2YDbYAtwCXGmP3htENRFN9s27aNOnXq0KZNG0Qk2uYo5cAYQ1ZWFtu2baNt27ZBHRPuUM+LwJfGmBOB7sBa4H5ggTGmPbDAsa4o8UdaGrRpAwkJ1ntaWsRNyM/Pp2HDhur0KzEiQsOGDcv01BY2xy8ixwBnAG8CGGOOGmMOABcAMxy7zQBGhMsGRYlZ0tJgzBjYuhWMsd7HjImK81enX/kp698wnD3+tkAmMF1EfhGRN0SkFtDUGLPTsc8uoKmvg0VkjIiki0h6ZmZmGM1UlCgwfjzk5rq35eZa7YoSZsLp+JOAnsAUY0wPIAePsI6xigH4LAhgjJlqjOltjOnduLHXxDNFqdz8+WfZ2qswiYmJpKam0qVLF84//3wOHDgQbZOcTJgwgfnz51f4PIsWLeK8887zar/++utZs2ZNhc9fVsLp+LcB24wxSx3rH2LdCHaLSHMAx/ueMNqgKLHJcceVrb0KU6NGDTIyMli9ejUNGjTglVdeqfA5CwsLQ2AZPProowwZMiQk5/LFG2+8QadOncJ2fn+EzfEbY3YBf4lIR0fTYGAN8AkwytE2CpgbLhsUJWZ57DGoWdO9rWZNqz2OOeWUU9i+fTsAmzZt4uyzz6ZXr17079+fdevWOdv79etH165defDBB6lduzZg9ar79+/P8OHD6dSpE0VFRdxzzz306dOHbt268dprrwGwc+dOzjjjDOdTxnfffUdRURGjR4+mS5cudO3alYkTJwIwevRoPvzwQwAWLFhAjx496Nq1K9deey1HjhwBLEmZhx9+mJ49e9K1a1enncEwYMAApxxN7dq1GT9+PN27d6dfv37s3r0bgMzMTC666CL69OlDnz59+OGHHyr6NYc9j/82IE1EkoHNwDVYN5v3ReQ6YCtwSZhtUJTY44orrPfx463wznHHWU7fbo8Ct395Oxm7MkJ6ztRmqbxw9gtB7VtUVMSCBQu47rrrABgzZgyvvvoq7du3Z+nSpYwdO5ZvvvmGcePGMW7cOC677DJeffVVt3OsWLGC1atX07ZtW6ZOncoxxxzDsmXLOHLkCKeddhpnnXUWc+bMYdiwYYwfP56ioiJyc3PJyMhg+/btrF69GsAr3JSfn8/o0aNZsGABHTp04Oqrr2bKlCncfvvtADRq1IgVK1YwefJknn32Wd54440yf1c5OTn069ePxx57jHvvvZfXX3+dBx98kHHjxnHHHXdw+umn8+effzJs2DDWrl1b5vO7ElbHb4zJAHr72DQ4nNdVlErBFVdE1dHHCnl5eaSmprJ9+3ZOOukkhg4dyuHDh/nxxx8ZOXKkcz+7h71kyRL++9//AnD55Zdz9913O/fp27evM5d93rx5rFq1ytljP3jwIBs2bKBPnz5ce+21FBQUMGLECFJTUzn++OPZvHkzt912G+eeey5nnXWWm43r16+nbdu2dOjQAYBRo0bxyiuvOB3/3//+dwB69erFnDlzyvU9JCcnO8cBevXqxddffw3A/Pnz3cYBDh06xOHDh51POuVBZ+4qigIQdM881Ngx/tzcXIYNG8Yrr7zC6NGjqVevHhkZGWU6V61atZzLxhgmTZrEsGHDvPZbvHgxn332GaNHj+bOO+/k6quvZuXKlXz11Ve8+uqrvP/++0ybNi3o61avXh2wBqrLO75QrVo1Z1qm63mKi4v56aefSElJKdd5faFaPYoSK8TAhK5oUrNmTV566SWee+45atasSdu2bfnggw8Ay4mvXLkSgH79+vHRRx8BMGvWLL/nGzZsGFOmTKGgoACA33//nZycHLZu3UrTpk254YYbuP7661mxYgV79+6luLiYiy66iP/85z+sWLHC7VwdO3Zky5YtbNy4EYB33nmHM888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\n"
          },
          "metadata": {
            "needs_background": "light"
          }
        }
      ],
      "execution_count": 14,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:07.123Z",
          "iopub.execute_input": "2022-05-22T17:57:07.127Z",
          "iopub.status.idle": "2022-05-22T17:57:07.220Z",
          "shell.execute_reply": "2022-05-22T17:57:07.227Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "rmse = 0\n",
        "for i in range(n):\n",
        "    y_pred = c + m * x[i]\n",
        "    rmse += (y[i] - y_pred) ** 2\n",
        "rmse = np.sqrt(rmse/n)\n",
        "print(\"RMSE:\")\n",
        "print(rmse)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "RMSE:\n",
            "[2.53710592]\n"
          ]
        }
      ],
      "execution_count": 15,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:07.238Z",
          "iopub.execute_input": "2022-05-22T17:57:07.246Z",
          "iopub.status.idle": "2022-05-22T17:57:07.261Z",
          "shell.execute_reply": "2022-05-22T17:57:07.272Z"
        }
      }
    },
    {
      "cell_type": "code",
      "source": [
        "ss_tot = 0\n",
        "ss_res = 0\n",
        "for i in range(n):\n",
        "    y_pred = c + m * x[i]\n",
        "    ss_tot += (y[i] - mean_y) ** 2\n",
        "    ss_res += (y[i] - y_pred) ** 2\n",
        "r2 = 1 - (ss_res/ss_tot)\n",
        "print(\"R2 Score:\")\n",
        "print(r2)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "R2 Score:\n",
            "[0.89856612]\n"
          ]
        }
      ],
      "execution_count": 16,
      "metadata": {
        "collapsed": true,
        "jupyter": {
          "source_hidden": false,
          "outputs_hidden": false
        },
        "nteract": {
          "transient": {
            "deleting": false
          }
        },
        "execution": {
          "iopub.status.busy": "2022-05-22T17:57:07.281Z",
          "iopub.execute_input": "2022-05-22T17:57:07.286Z",
          "shell.execute_reply": "2022-05-22T17:57:07.307Z",
          "iopub.status.idle": "2022-05-22T17:57:07.297Z"
        }
      }
    }
  ],
  "metadata": {
    "kernel_info": {
      "name": "python3"
    },
    "language_info": {
      "name": "python",
      "version": "3.6.13",
      "mimetype": "text/x-python",
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "pygments_lexer": "ipython3",
      "nbconvert_exporter": "python",
      "file_extension": ".py"
    },
    "kernelspec": {
      "name": "python3",
      "language": "python",
      "display_name": "Python 3"
    },
    "nteract": {
      "version": "0.28.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}